QMenu子菜单

您所在的位置:网站首页 qmenu 遍历 QMenu子菜单

QMenu子菜单

2023-07-21 01:13| 来源: 网络整理| 查看: 265

  qmenu的显示与隐藏使用 m_pmenu_multinet->menuAction()->setVisible(false);   

直接用m_pmenu_multinet->setVisible(false);   或者 m_pmenu_multinet->hide() 是没有效果的。

    m_pmenu_multinet = new QMenu(QString::fromLocal8Bit("多网切换"),m_menu);     m_pmenu_multinet->setIcon(QIcon(":/icon/menu_log.png"));     m_menu->addMenu(m_pmenu_multinet);

 

void SystemTray::slot_multinet(QStringList strInfo) {     if(strInfo.empty()) {         m_pmenu_multinet->clear();         m_pmenu_multinet->menuAction()->setVisible(false);         return;     }     m_pmenu_multinet->clear();     QList ListAct;     QList::iterator it = strInfo.begin();     for(;it !=strInfo.end();it++){         QAction* act = new QAction(*it,m_pmenu_multinet);         act->setObjectName(*it);         connect(act, SIGNAL(triggered()), this, SLOT(slot_multinetActionClicked()));         ListAct.push_back(act);     }     m_pmenu_multinet->addActions(ListAct);     m_pmenu_multinet->menuAction()->setVisible(true); }

 

void SystemTray::slot_multinetActionClicked() {     QString str = this->sender()->objectName(); 

    //QObject *object = QObject::sender();

    //QPushButton *push_button = qobject_cast(object);

    CMutiNetDlg dlg(str,this);     dlg.exec(); }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3